import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        while (scanner.hasNext()){
            int n=scanner.nextInt();
            int m=scanner.nextInt();
            int[] dp=new int[m+1];
            for(int i=0;i<=m;i++){
                if(i==n){
                    dp[i]=0;
                    continue;
                }
                dp[i]=Integer.MAX_VALUE;
            }
            for(int i=n;i<m;i++){
                if(dp[i]==Integer.MAX_VALUE){
                    continue;
                }
                for(int j=2;(j*j)<=i;j++){
                    if(i%j==0){
                        if(i+j<=m){
                            dp[i+j]=Math.min(dp[i+j],dp[i]+1);
                        }
                        if(i+(i/j)<=m){
                            dp[i+(i/j)]=Math.min(dp[i]+1,dp[i+(i/j)]);
                        }
                    }
                }
            }
            if(dp[m]==Integer.MAX_VALUE){
                System.out.println(-1);
            }else{
                System.out.println(dp[m]);
            }
        }
    }
}


















//import java.util.ArrayList;
//import java.util.List;
//import java.util.Scanner;
//import java.util.Stack;
//
//public class Main {
//    public static void main(String[] args) {
//        Scanner scanner=new Scanner(System.in);
//        while (scanner.hasNext()){
//            String str=scanner.nextLine();
//            Stack<Integer> stack=new Stack<>();
//            List<String> list=new ArrayList<>();
//            String s="";
//            for(int i=0;i<str.length();i++){
//                char ch=str.charAt(i);
//                if(ch=='"'){
//                    if(stack.isEmpty()){
//                        stack.add(i);
//                    }else{
//                        s=str.substring(stack.pop()+1,i);
//                    }
//                }else if(ch!=' '){
//                    s=s+ch;
//                }else{
//                    if(!stack.isEmpty()){
//                        continue;
//                    }
//                    list.add(s);
//                    s="";
//                }
//                if(i==str.length()-1){
//                    list.add(s);
//                }
//            }
//            System.out.println(list.size());
//            for(String value:list){
//                System.out.println(value);
//            }
//        }
//    }
//}
